#表的页面类

import tkinter as tk
from tkinter import ttk
from 文件操作 import db
from 功能窗口 import insert_frame,delete_frame,updata_frame

class Fun_Frame(tk.Frame):
    def __init__(self,root):
        super().__init__(root)
        self.table_view = tk.Frame()  # 纸面创建
        self.table_view.pack()  # 绑定
        self.page_create()

    #纸面设计——框架
    def page_create(self):
        columns=("员工编号","员工姓名","员工密码","员工级别","员工电话","员工工资","备注")  #用户
        self.tree_view=ttk.Treeview(self,show='headings',columns=columns)
        #列宽&对齐方式
        for col in columns:
            self.tree_view.column(col,width=100,anchor='center')
            self.tree_view.heading(col,text=col)
        #
        #填充
        self.tree_view.pack(fill=tk.BOTH,expand=True)
        self.show_data_frame()

        #按键
        button_frame=tk.Frame(self)
        button_frame.pack(side=tk.BOTTOM,fill='x')  #'y'垂直向上填满可用空间

        #添加员工
        #lambda 创建匿名函数
        tk.Button(self,text='添加',command=lambda :insert_frame(self.tree_view)).pack(side=tk.LEFT,anchor='n',padx=20,pady=5)

        #删除员工

        tk.Button(self,text='删除',command=lambda :delete_frame(self.tree_view)).pack(side=tk.LEFT,anchor='n',padx=20,pady=5)

        #修改员工信息
        tk.Button(self,text='修改信息',command=lambda :updata_frame(self.tree_view)).pack(side=tk.LEFT,anchor='n',padx=20,pady=5)

        #刷新
        tk.Button(self,text='刷新',command=self.show_data_frame).pack(side=tk.LEFT,anchor='n',padx=20,pady=5)


    #纸面设计——填充data
    def show_data_frame(self):
        #遍历树每个结点，删除需要删除的结点
        #刷新
        for _ in map(self.tree_view.delete,self.tree_view.get_children('')):
            pass
        #显示
        staffs=db.staff_data()
        index=0
        for sta in staffs:
            print(sta)
            self.tree_view.insert('',index+1,values=(
            sta['员工编号'],sta['员工姓名'],sta['员工密码'],sta['员工级别'],sta['员工电话'],sta['员工工资'],sta['备注']
            ))


